package com.legendshop.openportal.sdk.model.response;

import com.legendshop.openportal.sdk.model.BaseResponse;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;

/**
 * @author jzh
 * @version 1.0.0
 * @title AfterSaleInfoResponse
 * @date 2024/6/29 17:42
 * @description：售后信息响应
 */
@Data
public class AfterSaleInfoResponse extends BaseResponse {

    private static final long serialVersionUID = 6729547031829521132L;

    /**
     * 售后单
     */
    @ApiModelProperty("售后单号")
    private String refundSn;

    /**
     * 第三方申请单号
     */
    @ApiModelProperty("第三方申请单号")
    private String thirdApplyNo;

    /**
     * 订单
     */
    @ApiModelProperty("订单号")
    private String subNumber;

    /**
     * 订单商品ID,全部退款是0,默认0
     */
    @ApiModelProperty("订单商品ID，全部退款是0，默认0")
    private Long prodId;

    /**
     * 订单SKU ID,全部退款是0,默认0
     */
    @ApiModelProperty("订单SKU ID，全部退款是0，默认0")
    private Long skuId;

    /**
     * 申请状态 : AfterSaleApplyStatusEnum
     */
    @ApiModelProperty("申请状态")
    private Integer applyState;

    /**
     * 申请退货数量
     */
    @ApiModelProperty("申请退货数量")
    private Integer applyNum;

    /**
     * 申请退款金额
     */
    @ApiModelProperty("申请退款金额")
    private BigDecimal applyRefundAmount;

    /**
     * 退货数量
     */
    @ApiModelProperty("退货数量")
    private Integer refundNum;

    /**
     * 真实退款金额
     * 申请状态为已完成后，才会有值，其余时候都为 0
     */
    @ApiModelProperty("真实退款金额")
    private BigDecimal realRefundAmount;

    /**
     * 退货地址
     * 退货方式为客户发货，并且商家同意退货（不弃货）时会返回
     */
    @ApiModelProperty("退货地址")
    private String returnGoodsAddress;

    /**
     * 退货联系人
     * 退货方式为客户发货，并且商家同意退货（不弃货）时会返回
     */
    @ApiModelProperty("退货联系人")
    private String returnGoodsContacts;

    /**
     * 退货联系人手机号
     * 退货方式为客户发货，并且商家同意退货（不弃货）时会返回
     */
    @ApiModelProperty("退货联系人手机号")
    private String returnGoodsPhone;

}
